{
  "nbformat": 4,
  "nbformat_minor": 0,
  "metadata": {
    "colab": {
      "name": "MIT_6036_logistic_regression_and_regularization.ipynb",
      "provenance": [],
      "collapsed_sections": []
    },
    "kernelspec": {
      "name": "python3",
      "display_name": "Python 3"
    },
    "language_info": {
      "name": "python"
    }
  },
  "cells": [
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "i2s-1AEA5iG5"
      },
      "source": [
        "# Logistic regression and regularization\n",
        "\n",
        "Plot 1D logistic regression objective function with and without regularization term, for step function data which has a large gap at the origin."
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "oCHSrFty5bdP"
      },
      "source": [
        "import numpy as np\n",
        "import matplotlib.pyplot as plt\n",
        "import matplotlib.colors as colors\n",
        "from scipy import special\n",
        "import sklearn.metrics\n",
        "plt.style.use('classic')"
      ],
      "execution_count": 59,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "7_vHSrtK6fKu",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 479
        },
        "outputId": "a2830847-4f28-4872-a15c-8fe70ce82880"
      },
      "source": [
        "# data: step function but with large gap at origin\n",
        "gap = 3\n",
        "npts = 4\n",
        "X = np.array( (-gap - np.array(range(npts))).tolist()  + (gap + np.array(range(npts))).tolist() )\n",
        "Y = np.array( [0] * npts + [1] * npts )\n",
        "mctab = {0: ('_', 'r'),\n",
        "        1: ('+', 'g'),\n",
        "        }\n",
        "for idx, ypt in enumerate(Y):        \n",
        "    xpt = X[idx]\n",
        "    marker, mcolor = mctab[ypt]             \n",
        "    plt.scatter([xpt], [ypt],  s=200, marker=marker, linewidth=3, color=mcolor)\n",
        "    plt.xlabel(\"$x$\", fontsize=30)\n",
        "    plt.ylabel(\"$y$\", fontsize=30)\n",
        "    plt.grid(1)\n",
        "plt.gcf().savefig(\"linear_logistic_classifier_and_regularization_data.pdf\", bbox_inches='tight')"
      ],
      "execution_count": 62,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "image/png": "iVBORw0KGgoAAAANSUhEUgAAAk8AAAHOCAYAAACBw+2OAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAMTQAADE0B0s6tTgAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nO3dfXSU9Z3+8QsSIAmB4EM0xlJL5CFaDJx2jdSK+FQeija1BCiVgwq2NFA1jRWatBRpRR1ai/HULmGtIKyWUKtkgQNTRYoohoNdjRSbllC7KnaAn2uAPAxgzO8PSZYYbsiUe+abyef9OmfPnpm5J3NdgykfZj5zT7fNmzc3CwAAAB3S3XUAAACAeMLwBAAAEAGGJwAAgAgwPAEAAESA4QkAACACDE8AAAARYHgCAACIAMMTAABABBJdB4ilF198UWvWrNGePXvU0NCgF154QQkJCSc99sMPP9SSJUv05ptvqra2Vmlpabr++ut16623qmfPnjFODgAAOgtTw1Nqaqry8vJ05MgR/fznPz/lsY2Njerfv7+mTZumCy64QP/85z/1k5/8REeOHNH3vve9GCUGAACdjanhKTc3V5L0xhtvnPbYzMxMTZ06tfXyhRdeqHHjxmnDhg1RywcAADo/dp4i8Nprr2nQoEGuYwAAAIdMvfJ0JlasWKHdu3dryZIlnsd8/PHH+uCDD5ScnKxu3brFMB0AAPhXNTc3q7GxUeecc466dz/960oMTx3wxBNPaOPGjVq8eLHS09M9j/vggw80adKkGCYDAAB+Wb169Sn/nm/B8HQKzc3NKi0t1Y4dO/Too48qIyPjlMcnJydLkt5991317ds3FhE7jTFjxigYDLqOEXP0toXettDbjkOHDql///6tf4+fjqnhqampSU1NTTp27Jgk6ejRo0pISFBiYmK7l+mampr04IMPqqamRo8++qjOOeec0/78lrfq+vbta254GjJkiLnOEr2tobct9Lanoys3poan559/XoFAoPXyV7/6VUnS4sWLdcEFF+i2225TIBBQTk6Odu7cqU2bNqlHjx5tPnUniU/cncTZZ5/tOoIT9LaF3rbQG15MDU9jx47V2LFjPW8/cSgaPny4Nm/eHItYXcKYMWNcR3CC3rbQ2xZ6wwunKoAv0tLSXEdwgt620NsWesMLwxN8UVVV5TqCE/S2hd620Bteum3evLnZdYiuor6+XjfeeKMOHjxodtkOAIB4c+jQIaWlpWndunXq3bv3aY/nlScAAIAIMDwBAABEgOEJviguLnYdwQl620JvW+gNL+w8+cjyzlMoFDrtGdi7InrbQm9b6G0HO09wwtovWgt620JvW+gNLwxPAAAAEWB4gi+sfYlkC3rbQm9b6A0vDE/wRW1tresITtDbFnrbQm94YWHcR5YXxgEAiFcsjAMAAEQRwxN8EQ6HXUdwgt620NsWesMLwxN8UVJS4jqCE/S2hd620Bte2HnykeWdp3A4rKSkJNcxYo7ettDbFnrbwc4TnLD2i9aC3rbQ2xZ6wwvDEwAAQAQYnuCL8vJy1xGcoLct9LaF3vDC8ARf9OvXz3UEJ+htC71toTe8sDDuI8sL4wAAxCsWxgEAAKKI4Qm+CIVCriM4QW9b6G0LveGF4Qm+KC0tdR3BCXrbQm9b6A0v7Dz5iJ0nAADiDztPAAAAUcTwBAAAEAGGJ/iirKzMdQQn6G0LvW2hN7wwPMEXw4YNcx3BCXrbQm9b6A0vLIz7iIVxAADiDwvjAAAAUcTwBF9UV1e7juAEvW2hty30hheGJ/iioqLCdQQn6G0LvW2hN7yw8+Qjdp4AAIg/7DwBAABEEcMTAABABBie4ItAIOA6ghP0toXettAbXhie4Iu8vDzXEZygty30toXe8MLwBF9kZ2e7juAEvW2hty30hheGJwAAgAgwPMEXlZWVriM4QW9b6G0LveGF4Qm+qKqqch3BCXrbQm9b6A0vnCTTR5wkEwD8sb9+v36949etl2ddPkvn9T6Px+6ij+1apCfJTIxBJgAAInKg/oAWbFnQennipRNj9hc5jx37x443vG0HAAAQAVPD04svvqi77rpL48eP17XXXqumpqZTHn/48GHdf//9uvHGG3XjjTfq/vvvV11dXYzSxpfi4mLXEZygty30NuYF1wEcsdo7AqaGp9TUVOXl5Wn27NkdOn7hwoX68MMP9dRTT+mpp57Shx9+qAcffDDKKePT3Xff7TqCE/S2hd7GXOE6gCNWe0fA1PCUm5ur66+/XpmZmac9NhQKafv27SooKFBaWprS0tJUUFCgbdu2ad++fTFIG18yMjJcR3CC3rbQ25g+rgM4YrV3BFgY91BTU6MePXpo4MCBrdcNHDhQPXr0UE1Njc4//3yH6QCga9hfv18H6g+0u37XgV2nvNwivXf6v7zUzGPH/rG7CoYnDw0NDUpNTW13fWpqqhoaGhwk6tyCwaDGjBnjOkbM0dsWevvv1zt+3eYTXl4mPzP5pNfPHzVf911zX3Qeu0bSQEePfVxX691VmHrbLhIpKSknXQ6vq6tTSkrKKe87ceJEFRUVqaioSGvXrlVRUZHC4XDr7eXl5QoGg62XQ6FQu4XMsrKyNmd5ra6ubvdN14FAQNXV1a2XKysrVVZW1uaY4uJihUKh1svBYFDl5eWtl8PhsC/5du3a1anzRev5279/f6fOF63nr7a2tlPnk6Lz/NXW1nbqfFJ0nr/a2tqo5av737r2C8qvSXr3hMsHJL38qWNePn79cf9Kvo+OfiRtlHTshDv9WZ8MD5IUlnRYp833r/756oXjP79FzfHHb3FMp86nf/3P99PPn9493kv6pHcH8sXb7++n8wWDQc2cOVO5ubkqKSlRJEyeJPONN97Q97//fb3wwgtKSEg46TGhUEhTpkzR448/rosvvliStGfPHt1xxx1atWrVSd+24ySZABCZ+/54X4degfFyJq+C8Nixf+zOipNknkJTU5Oampp07NgnY/zRo0eVkJCgxMREde/e9kW4jIwMXXHFFVqyZIl+/OMfS5KWLFmiK6+8kn0nAPDJrMtnaeKlE9tdv+vArjZvG5Xnl+vz6Z9vd1x673QeO44eu6swNTw9//zzbV4a/OpXvypJWrx4sS644ALddtttCgQCysnJkSSVlJSotLRUt9xyiyRpxIgRKiwsjH3wOBAOh5WUlOQ6RszR2xZ6+++83ud1aPn48+mf1+fPa/8XeVQf+5ikHo4e+7iu1rurMDU8jR07VmPHjvW8fcOGDW0u9+3bV/PmzYt2rC6hpKREv/zlL13HiDl620JvYzZJ8v4ro+uy2jsCLIzDFw888IDrCE7Q2xZ6G3O96wCOWO0dAYYn+MLiWxkSva2htzE9XAdwxGrvCDA8AQAARMDUzhOip7y8XJMnn/yEal0ZvW2hd+yk907X/FHz21yO9WP/+cU/a+h1Q5089omXY/3YLnrHG4Yn+KJfv36uIzhBb1voHTvn9T7P2bmEWh47eCSoMdfE9ozyVnvHG5MnyYwWTpIJAED8ifQkmew8AQAARIDhCb448fuFLKG3LfS2hd7wwvAEX5SWlrqO4AS9baG3LfSGF3aefMTOEwAA8YedJwAAgChieAIAAIgAwxN8UVZW5jqCE/S2hd620BteGJ7gi2HDhrmO4AS9baG3LfSGFxbGfcTCOAAA8YeFcQAAgChieIIvqqurXUdwgt620NsWesMLwxN8UVFR4TqCE/S2hd620Bte2HnyETtPAADEH3aeAAAAoojhCQAAIAIMT/BFIBBwHcEJettCb1voDS8MT/BFXl6e6whO0NsWettCb3hheIIvsrOzXUdwgt620NsWesMLwxMAAEAEGJ7gi8rKStcRnKC3LfS2hd7wwvAEX1RVVbmO4AS9baG3LfSGF06S6SNOkgkAQPzhJJkAAABRxPAEAAAQAYYn+KK4uNh1BCfobQu9baE3vLDz5CPLO0+hUEgZGRmuY8QcvW2hty30toOdJzhh7RetBb1tobct9IYXhicAAIAIMDzBF8Fg0HUEJ+htC71toTe8MDzBF7W1ta4jOEFvW+htC73hhYVxH1leGAcAIF6xMA4AABBFDE/wRTgcdh3BCXrbQm9b6A0vDE/wRUlJiesITtDbFnrbQm94YefJR5Z3nsLhsJKSklzHiDl620JvW+htBztPcMLaL1oLettCb1voDS8MTwAAABFgeIIvysvLXUdwgt620NsWesMLwxN80a9fP9cRnKC3LfS2hd7wYm5hvLm5WcuXL9f69etVX1+vwYMHq7CwUAMGDDjp8dXV1SorK1NNTY26d++unJwczZ49+6RfnGh5YRwAgHjFwvhplJeXa8OGDVq0aJHWrFmjoUOHas6cOWpsbGx37Mcff6zi4mJlZWXp97//vX77298qISFB999/v4PkAACgMzA3PFVUVGjSpEnKyspSr169NH36dB07dkxbt25td2x9fb1qa2s1btw49ezZUykpKRozZox2797tIHnnFgqFXEdwgt620NsWesOLqeGprq5OoVBIl1xySet1CQkJGjRo0EkHoj59+ujrX/+61q9fr3A4rLq6Om3cuFEjR46MZey4UFpa6jqCE/S2hd620BteTO087d+/X5MnT9by5ct10UUXtV6/YMECpaSk6N577213nzfeeEOLFy/We++9p+bmZg0cOFAPPfSQzj777HbHsvMEAED8YefpFFJSUiR98grUierq6lpvO9F7772ne++9VzfffLM2bNig9evXa8SIEbrzzjtPuiPVYuLEiSoqKlJRUZHWrl2roqKiNt8VVF5ermAw2Ho5FAqpuLi4zc8oKytTZWVl6+Xq6moFAoE2xwQCAVVXV7derqysVFlZWZtjiouL27wEGwwG23wMNRwOk4985CMf+chnLl8wGNTMmTOVm5sb8VfSmHrlSZKmTJmi/Px8TZgwQZLU1NSk/Px8FRQUaPTo0W2O3bJli37+859r3bp1rde1vLr02GOP6dJLL21zPK88AQAQf3jl6TTy8vK0evVqvf322zpy5IiWLVumxMTEk+4xDRkyRMeOHdPatWvV1NSko0eP6plnnlFycrL69+/vIH3n9el/EVhBb1vobQu94SXRdYBYmzx5shoaGnTPPfeooaFBQ4YMUSAQUHJysvbt26fbbrtNgUBAOTk5ysjI0P3336/ly5dr6dKlkqSsrCw98MAD6tOnj+MmncuwYcNcR3CC3rbQ2xZ6w4u5t+2iibftAACIP7xtBwAAEEUMT/DFiZ+KsITettDbFnrDC8MTfFFRUeE6ghP0toXettAbXth58hE7TwAAxB92ngAAAKKI4QkAACACDE/wxadPrW8FvW2hty30hheGJ/giLy/PdQQn6G0LvW2hN7wwPMEX2dnZriM4QW9b6G0LveGF4QkAACACDE/wRWVlpesITtDbFnrbQm94YXiCL6qqqlxHcILettDbFnrDCyfJ9BEnyQQAIP5wkkwAAIAoYngCAACIAMMTfFFcXOw6ghP0toXettAbXth58pHlnadQKKSMjAzXMWKO3rbQ2xZ628HOE5yw9ovWgt620NsWesMLwxMAAEAEGJ7gi2Aw6DqCE/S2hd620BteGJ7gi9raWtcRnKC3LfS2hd7wwsK4jywvjAMAEK9YGAcAAIgihif4IhwOu47gBL1tobct9IYXhif4oqSkxHUEJ+htC71toTe8sPPkI8s7T+FwWElJSa5jxBy9baG3LfS2g50nOGHtF60FvW2hty30hheGJwAAgAgwPMEX5eXlriM4QW9b6G0LveGF4Qm+6Nevn+sITtDbFnrbQm94YWHcR5YXxgEAiFcsjAMAAEQRwxN8EQqFXEdwgt620NsWesMLwxN8UVpa6jqCE/S2hd620Bte2HnyETtPAADEH3aeAAAAoojhCQAAIAIMT/BFWVmZ6whO0NsWettCb3hheIIvhg0b5jqCE/S2hd620BteWBj3EQvjAADEHxbGAQAAoojhCb6orq52HcEJettCb1voDS8MT/BFRUWF6whO0NsWettCb3hh58lH7DwBABB/2HkCAACIokTXAWKtublZy5cv1/r161VfX6/BgwersLBQAwYM8LzPxo0btXr1av3zn/9UUlKSrr32Wt11110xTA0AADoLc688lZeXa8OGDVq0aJHWrFmjoUOHas6cOWpsbDzp8atXr9aTTz6pwsJCrVu3Tk8//bTGjh0b49SdXyAQcB3BCXrbQm9b6A0v5oaniooKTZo0SVlZWerVq5emT5+uY8eOaevWre2Ora+v17Jly3TnnXcqJydHCQkJSk5O1uDBgx0k79zy8vJcR3CC3rbQ2xZ6w4up4amurk6hUEiXXHJJ63UJCQkaNGiQdu/e3e74Xbt2KRwO67333tPUqVN18803695771VNTU0sY8eF7Oxs1xGcoLct9LaF3vBianhqaGiQJKWmpra5PjU1tfW2Ex08eFCS9PLLL2vx4sVatWqVBg4cqLlz56quri76gQEAQKdjanhKSUmRpHaDT11dXettJzv+lltuUXp6unr16qU77rhD9fX12rVrl+fjTJw4UUVFRSoqKtLatWtVVFSkcDjcent5ebmCwWDr5VAopOLi4jY/o6ysTJWVla2Xq6ur270PHQgE2pzMrLKyst0XOhYXFysUCrVeDgaDKi8vb70cDod9ybdq1apOnS9az9+WLVs6db5oPX+VlZWdOp8UneevsrKyU+eTovP8VVZWdup8LRn9zldZWdmp80nRef5a7ttZ87U403zBYFAzZ85Ubm6uSkpKFAlz53maMmWK8vPzNWHCBElSU1OT8vPzVVBQoNGjR7c5dv/+/Zo8ebICgYByc3Nbjx8/frwWLFigK664os3xls/zVFZWppkzZ7qOEXP0toXettDbjkjP82RueFq1apWee+45PfTQQ8rMzNTKlSsVDAa1YsUKJScntzt+3rx5OnTokObPn6/U1FQ9+eST+sMf/qDly5e3e4ItD08AAMQrTpJ5GpMnT9aYMWN0zz33KC8vTzt37lQgEFBycrL27duncePG6c0332w9/oc//KEyMzN16623auLEidq9e7cWLVrUoScXAAB0PeZeeYomXnkCACD+8MoTnPj0QqAV9LaF3rbQG1545clHll95CoVCysjIcB0j5uhtC71tobcdvPIEJ6z9orWgty30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G14YngAAACLA8ARfnHiqfUvobQu9baE3vDA8wRdVVVWuIzhBb1vobQu94YWTZPqIk2QCABB/OEkmAABAFDE8AQAARIDhCb4oLi52HcEJettCb1voDS/sPPnI8s5TKBRSRkaG6xgxR29b6G0Lve1g5wlOWPtFa0FvW+htC73hheEJAAAgAgxP8EUwGHQdwQl620JvW+gNLwxP8EVtba3rCE7Q2xZ620JveGFh3EeWF8YBAIhXLIwDAABEEcMTfBEOh11HcILettDbFnrDC8MTfFFSUuI6ghP0toXettAbXth58pHlnadwOKykpCTXMWKO3rbQ2xZ628HOE5yw9ovWgt620NsWesMLwxMAAEAEGJ7gi/LyctcRnKC3LfS2hd7wwvAEX/Tr1891BCfobQu9baE3vLAw7iPLC+MAAMQrFsYBAACiiOEJvgiFQq4jOEFvW+htC73hheEJvigtLXUdwQl620JvW+gNL+w8+YidJwAA4g87TwAAAFHE8AQAABABhif4oqyszHUEJ+htC71toTe8MDzBF8OGDXMdwQl620JvW+gNLyyM+4iFcQAA4g8L4wAAAFHE8ARfVFdXu47gBL1tobct9IYXhif4oqKiwnUEJ+htC71toTe8sPPkI3aeAACIP+w8AQAARBHDEwAAQAQYnuCLQCDgOoIT9LaF3rbQG14YnuCLvLw81xGcoLct9LaF3vDC8ARfZGdnu47gBL1tobct9IaXRNcBYq25uVnLly/X+vXrVV9fr8GDB6uwsFADBgw46fGHDx9WaWmpKisrJUkjRoxQYWGhUlNTYxkbAAB0EuZeeSovL9eGDRu0aNEirVmzRkOHDtWcOXPU2Nh40uMXLlyoDz/8UE899ZSeeuopffjhh3rwwQdjnLrzaxkuraG3LfS2hd7wYm54qqio0KRJk5SVlaVevXpp+vTpOnbsmLZu3dru2FAopO3bt6ugoEBpaWlKS0tTQUGBtm3bpn379jlI33lVVVW5juAEvW2hty30hhdTb9vV1dUpFArpkksuab0uISFBgwYN0u7duzV69Og2x9fU1KhHjx4aOHBg63UDBw5Ujx49VFNTo/PPPz9m2Z3bv186cMDz5plXXSXt2uV9//R06bzzovLYpxXFx+6yvU9j5syZUfm5nR29baE3vJganhoaGiSp3b5Sampq622fPv5ku01ex3dpv/61tGDBv37/+fOl++7jsePlsQEAnky9bZeSkiLpk1egTlRXV9d626eP//Sxpzq+xcSJE1VUVKSioiKtXbtWRUVFCofDrbeXl5crGAy2Xg6FQiouLm7zM8rKytq871xdXd3u3BuBQKDNFzhWVlaqrKyszTHFxcUKhUKtl4PBoMrLy1svh8PhjuV74YW2+SSd+K54taRPnxkkcPz6M84XDCp8wn3KJQVPuByS1PbZO0m+f/X5e+EFhU64HDz++K35JBUd//+e+f7VP9+XX277/B3v1SafdOp8Hf3z7ez//ZGPfOQjn8/5gsGgZs6cqdzcXJWUlCgS5r7bbsqUKcrPz9eECRMkSU1NTcrPz1dBQUG7t+1CoZCmTJmixx9/XBdffLEkac+ePbrjjju0atWqdm/bdenvtrvvvlO+ClIs6ZRr9GfyKshpHvu0ovjYXbb3aRQXF5v84AS9baG3HZF+t5254WnVqlV67rnn9NBDDykzM1MrV65UMBjUihUrlJyc3O74H/7wh2pqatKPf/xjSdL999+vnj17auHChe2O7dLD02n2b0L/7/8p49xzve8fr7s/VnufRigUUkZGRlR+dmdGb1vobQfD02k0Nzdr2bJlWrdunRoaGjRkyBDdfffdysrK0r59+3TbbbcpEAgoJydH0idPaGlpqbZv3y7p1Od56tLDEwAAXRTDk0MMTwAAxJ9IhydTC+OInhMXBC2hty30toXe8MLwBF/U1ta6juAEvW2hty30hhfetvMRb9sBABB/eNsOAAAgihie4IsTT0JmCb1tobct9IYXhif4ItKzs3YV9LaF3rbQG17YefKR5Z2ncDispKQk1zFijt620NsWetvBzhOcsPaL1oLettDbFnrDC8MTAABABBie4IsTv8naEnrbQm9b6A0vDE/wRb9+/VxHcILettDbFnrDCwvjPrK8MA4AQLxiYRwAACCKGJ7gi1Ao5DqCE/S2hd620BteGJ7gi9LSUtcRnKC3LfS2hd7wws6Tj9h5AgAg/rDzBAAAEEUMTwAAABFgeIIvysrKXEdwgt620NsWesMLwxN8MWzYMNcRnKC3LfS2hd7wwsK4j1gYBwAg/rAwDgAAEEUMT/BFdXW16whO0NsWettCb3hheIIvKioqXEdwgt620NsWesMLO08+YucJAID4w84TAABAFDE8AQAARIDhCb4IBAKuIzhBb1vobQu94YXhCb7Iy8tzHcEJettCb1voDS8MT/BFdna26whO0NsWettCb3hheAIAAIgAwxN8UVlZ6TqCE/S2hd620BteGJ7gi6qqKtcRnKC3LfS2hd7wwkkyfcRJMgEAiD+cJBMAACCKGJ4AAAAiwPAEXxQXF7uO4AS9baG3LfSGF3aefGR55ykUCikjI8N1jJijty30toXedrDzBCes/aK1oLct9LaF3vDC8AQAABABhif4IhgMuo7gBL1tobct9IYXhif4ora21nUEJ+htC71toTe8sDDuI8sL4wAAxCsWxgEAAKKI4Qm+CIfDriM4QW9b6G0LveHF1PC0ZcsWTZs2TWPGjNGtt96ql1566ZTHL126VNOnT9f48eM1YcIE/exnP9P+/ftjlDa+lJSUuI7gBL1tobct9IYXM8PTW2+9pYULF2rGjBlav369pk+froULF+qvf/2r5326deumuXPnas2aNXryyScl8R+Vl2uvvdZ1BCfobQu9baE3vJgZntauXasrrrhCo0aNUmJiokaNGqXc3FxVVFR43ufb3/62hgwZoh49eig1NVVTpkzRnj17dPjw4Rgmjw+bN292HcEJettCb1voDS9mhqeamhplZ2e3uW7IkCGqqanp8M/YsWOHzj//fPXp08fveAAAIE4kug5wph566KFTntBr2LBheuSRR9TQ0KDU1NQ2t/Xp00f19fUdepw//elPWrFihRYsWOB5THPzJ2d9OHToUId+Zleya9cuehtCb1vobYvF3i19W/4eP524H57uvvtuFRQUeN6ekJAgSUpJSVFdXV2b2w4fPtyh8zm8+uqrWrhwoUpKSpSbm+t5XGNjoySpf//+HYne5aSlpbmO4AS9baG3LfS2pbGxsd0LLScT98NTcnKykpOTT3vcwIED2y2H/+1vf9PAgQNPeb/nn39epaWl+slPfnLKwUmSzjnnHK1evVrJycnq1q3b6cMDAADnmpub1djYqHPOOadDx8f98NRRN910kwoLC7V161Z96Utf0quvvqrt27ertLTU8z7PPfecnnjiCT3wwAPKyck57WN0795d6enpfsYGAAAx0JFXnFqY+nqWP/7xj3riiScUCoWUkZGhGTNmaNSoUa2333bbbbrhhhs0depUSZ98XDMhIUE9evRo83MCgUCHhikAAND1mBqeAAAAzpSZUxUAAAD4wczOUyw1NTVp2bJleuGFF3To0CGde+65ys/P19e+9jXX0aLuwIEDKisr044dO3Ts2DGdd955mjdvni6++GLX0WLimWee0WOPPaapU6dqxowZruNEVTAY1Nq1a/XOO++oW7duGjBggGbMmKHLLrvMdTRfNTc3a/ny5Vq/fr3q6+s1ePBgFRYWasCAAa6jRc3SpUtVWVmpffv2KSkpScOHD9fMmTN13nnnuY4WU/PmzdPLL7+sX/ziF/riF7/oOk7U7dq1S7/5zW9UXV2t7t2763Of+5weffRRde/edV9n+d///V899thjev3113X06FFddNFF+va3v63hw4ef8n4MT1FQUVGhdevW6Ze//KWysrL0xhtvaO7cubrgggt0+eWXu44XNYcOHdKdd96pq6++WitWrFDfvn21d+/eDp0Ooit455139OyzzyorK8t1lJhoaGjQtGnTNHToUPXs2VNr1qzR3Llz9eSTT3apD06Ul5drw4YNWrRokS688EKtWLFCc+bM0YoVKzr0Sd941PLVVFlZWTpy5IgWL16skpISPf74466jxUwwGDT1Bbm7du3S3Llzdeedd+qBBx5Qjx499Ne//rXLf3L8kUceUW1trZ544gn16dNHv//971VSUqJVq1apb9++nvfruuOkQ3v37tVll13W+pfo8OHD9bnPfS6is5nHo2eeeUZpaWmaNWuW0tLS1K1bN33mM5/RWWed5Tpa1DU1NenBBx/UrFmzzJyB/uabb1Zubq5SUlKUmJio/Px8de/eXdXV1a6j+aqiokKTJk1SVlaWevXqpenTp+vYsWPaunWr62hRY/2rqQ4cOKAnnnhCP/jBD1xHiZmysjJ99atf1ZgxY5SUlKSEhARdeumlXX542rt3r66++mr169dPCQkJuummm9TY2Kj33nvvlPdjeIqCG2+8Ue+++652796tjz/+WH/605/0/vvvn/Y8UfHutdde0wUXXKB58+bpa1/7mqZNm6YVK1aoqanJdbSoe/rpp5WZmamrrrrKdRRn3nrrLTU2Nnapt2jr6uoUCoV0ySWXtF6XkJCgQYMGaffu3Q6TxZalr6Zqbm7WokWLNHXqVJ1//vmu48REOBzWrl271L17dxUUFCgvL0/f+c53tGXLFtfRom7KlCl65ZVX9MEHH+ijjz7SmjVrlJmZedr/HeNtuwh09KtgWt6e++53vyvpk/M/zZ49O27/Uulo74MHD6q6ulrFxcWaP3++/vGPf6ikpEQ9evTQlClTYpjYHx3tXVNTo3Xr1mnp0qUxTBc9He19ov379+unP/2pvvWtbykzMzPaEWOmoaFBUvvzv6Smprbe1tV15KupupKKigo1Nzfrpptuch0lZg4fPqyPP/5Yf/jDH/TAAw9o0KBBeuWVV/Szn/1M5557rj7/+c+7jhg1Q4cO1fPPP9/6ynnfvn3105/+VL169Trl/RieItDRr4IpLS3Vnj17tGLFCmVmZurvf/+75s2bp+7du8fl0nhHe/fu3VtDhgzRV77yFUmfnNU9Ly9PL730UlwOTx3p/dFHH+nBBx/U7Nmzu8zXGXT0z7vF3r179YMf/EDXXHNNl1uST0lJkaR2X+1UV1enc88910WkmOroV1N1FXv37tXKlSv12GOPuY4SUy27e2PGjFF2drYk6eqrr9bw4cP18ssvd9nh6eOPP9Y999yjnJwcVVRUqHfv3nr11VdVXFysRx555JTfQMLwFIGOfhXMX//6V40bN04XXnihJOniiy/Wl7/8Zb3yyitxOTx1tPegQYP09ttvxyBRbHSkdygU0t///nc9/PDDevjhhyVJ9fX1qq6u1tatW7V8+fIYJPVXR/+8JWnPnj2aM2eO8vLyNG3atCgni73U1FRlZGSourq69S+QpqYm1dTUtP4joauK5KupuoqdO3fq0KFDmjlzZpvr58+fr2uuuabL7kClpqYqMzOzy+83fdrhw4f1/vvv67777mtdDr/qqquUmZmpHTt2MDzF2mWXXaZNmzZp5MiRysjI0P/8z/9o27Ztuu6661xHi6qvfe1r+t73vqcXX3xRo0aN0jvvvKO1a9fqG9/4hutoUZOenq7Vq1e3ue6+++5Tdna2vvWtbzlKFRt//vOfVVJSomnTpik/P991nKjJy8vT6tWr9YUvfEGZmZlauXKlEhMTNXLkSNfRoibSr6bqKq655pp2pySYNGmSioqK9G//9m+OUsXGzTffrKefflrXXXedsrKy9Oqrr6qqqkq3336762hRk5aWposuukhr1qzRrFmzlJycrO3bt+sf//iHBg8efMr7cobxKGhsbNTSpUv1yiuv6PDhw0pLS9PIkSP17W9/Wz179nQdL6q2bdumxx9/XP/85z919tlna/z48frmN7/Zpc8T8mmFhYW67LLLutxbWJ/2/e9/X1VVVe12A2655ZbWrzjqCpqbm7Vs2TKtW7dODQ0NGjJkiO6+++4ufUoKvprq/1x77bVmzvP01FNPqaKiQnV1dfrMZz6jadOmdfkPwbz33ntasmSJdu3apaNHjyo9PV0TJkw47c4bwxMAAEAE7LwcAAAA4AOGJwAAgAgwPAEAAESA4QkAACACDE8AAAARYHgCAACIAMMTAABABBieAAAAIsDwBAAAEAGGJwAAgAgwPAEAAESA4QkAACACDE8AAAARYHgCAACIAMMTAABABBieAAAAIsDwBAAAEAGGJwAAgAgkug4AAJ1RXV2dfvvb3+qll15SOBzWueeeq1tuuUVXXXWVJGnLli168sknVVdXp759+2rSpEkaPXq049QAYoFXngDgU/bt26e77rpLffv21W9+8xv97ne/0+WXX66f/OQnev7557V+/XpVVFTo4Ycf1n/+53/qoosu0oMPPqgdO3a4jg4gBrpt3ry52XUIAOgsjh07ptmzZ2vatGmtrzJJUmNjo8aPH6+0tDQlJSVp6dKl6tOnj37961/rd7/7nSSpoKBAkyZNchUdQIzwyhMAnOC5555TdnZ2m8FJkhISEiRJtbW1Gjt2rPr06SNJ+uCDDyRJycnJ+vKXvxzbsACcYOcJAI5rbm7WmjVr9Mtf/rLdbW+//baamz95of7qq69uvb6wsFBf/vKXdemllyojIyNmWQG4w/AEAMc1NTXp9ttvP+kQ9Oc//1mS1K9fP33uc59rvb5Pnz667rrrYhURQCfA23YAcFxiYqK+8pWvnPS2N954Q5KUk5Ojbt26xTIWgE6G4QkATuPjjz9WVVWVJGn48OGO0wBwjeEJAE5jz549Onz4sCSGJwAMTwBwWq+//rokKS0trc2+U4v33ntPb731VoxTAXCF4QkAjmtubtaOHTv0l7/8pc31LftOQ4cOPem+0+OPP6533nknJhkBuMfwBADH/epXv9KcOXP0ve99T++++64kqb6+Xv/93/8tSSd91Wnv3r3atWuXRo0aFcuoABxieAKA4zZu3Cjpk0/d9e7dW5L0zDPPqG/fvpI+OZXBiY4ePar7779f3/nOd5ScnBzbsACcYXgCgOM++9nPqnfv3vrZz36ms846S88//7xeeuklLVmyRBdddJE2bdqkAwcOSJLeeecdzZkzRyNGjPA8vQGAronvtgOA4/bv368lS5bob3/7mz766CPl5OSooKBAZ511lg4ePKj/+I//0Pbt25WQkKD09HRNmTJFV155pevYAGKM4QkAACACvG0HAAAQAYYnAACACDA8AQAARIDhCQAAIAIMTwAAABFgeAIAAIgAwxMAAEAEGJ4AAAAiwPAEAAAQAYYnAACACDA8AQAARIDhCQAAIAIMTwAAABFgeAIAAIjA/wdUHjniG1qraAAAAABJRU5ErkJggg==\n",
            "text/plain": [
              "<Figure size 640x480 with 1 Axes>"
            ]
          },
          "metadata": {}
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 506
        },
        "id": "XQ6rzVhj6gmV",
        "outputId": "b709002f-eda9-4246-ecb4-e71b81fb9d1a"
      },
      "source": [
        "# logistic regression loss function (no regularization)\n",
        "def objective(theta):\n",
        "    guesses = special.expit(X *theta)\n",
        "    Lnll = sklearn.metrics.log_loss(Y, guesses)\n",
        "    return Lnll\n",
        "thvec = np.linspace(-4, 4, 100)\n",
        "lvec = [objective(theta)+0.04 for theta in thvec]\n",
        "plt.plot(thvec, lvec, linewidth=3)\n",
        "plt.xlabel(r\"$\\theta$\", fontsize=30)\n",
        "plt.ylabel(r\"$J_{lr}(\\theta)$\", fontsize=30)\n",
        "plt.grid(1)\n",
        "plt.gca().set_ylim([0, 20])\n",
        "plt.title(r\"$\\lambda=0$\", fontsize=30)\n",
        "plt.gcf().savefig(\"linear_logistic_classifier_and_regularization_objective_noreg.pdf\", bbox_inches='tight')"
      ],
      "execution_count": 67,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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zSIzM5Pt27cTHx9P+/btGTZsGI0aNSp5zPbt23nqqafIysoiJiaGSy65hL/+9a/ExMQYrFxERERMiriZoqioKO69917efPNNXn75ZQDGjx9f8vnis1xq167NP//5T9LS0li3bh3PP/+8qZJFREQkDERcU3TbbbfRunVrYmJiSEhIoF+/fmzcuLHkirLr1q1jy5YtjBgxglq1apGYmMitt97KO++8U2WulCsiIiKBF3FN0e999tlnNG7cmNq1awPOhdKaNGlSchYLQJs2bfB4PPz000+myhQRERHDIrop+uKLL5g7dy7Jyckl2w4cOECtWrXKPK64YSp9p2oRERGxS8Te5mPlypVMmTKF8ePH07lz55LtNWvWPOpquMVvrdWsWfOo5yksLOR///sfNWrUKLlBpYiIiIS3oqIiDh48yAknnEC1ahU7BhSRTdEHH3zA9OnTuf/++8s0ROBcM+SXX35hz549JW+hrV+/nvj4eE4++eSjnut///sfffr0CUndIiIiElivv/46DRs2rNBjI64peuONN3jxxRd5+OGHadeu3VGfb9euHc2bN+e5555j1KhR5OXlMWfOHHr06EFsbOxRjy++oNpPP/1EnTp1gl5/OLniiivIyMgwXUbIKbddlNsuym2PvXv3cvLJJ/t1YdSIa4pmzJhBdHQ09957b5ntqamptGvXjmrVqjFlyhSeeuopevXqRWxsLJdccgnDhw8/5vMVv2VWp04d65qi1q1bW5cZlNs2ym0X5baPP6MvEdcULVu2rNzHJCYm8uijj4agmqrN1ptTKrddlNsuyi2+RPTZZ3J8rrjiCtMlGKHcdlFuuyi3+KKmSLwqfS0nmyi3XZTbLsotvqgpEq+ysrJMl2CEcttFue2i3OJLxN0QNtD279/PNddcw549e6wdUhMREalq9u7dS926dVm8ePFRF232RkeKRERERFBTJCIiIgKoKRIfUlJSTJdghHLbRbntotzii2aKymHzTFFOTg6JiYmmywg55baLcttFue2hmSIJKNt+gIopt12U2y7KLb6oKRIRERFBTZH4YNvNA4spt12U2y7KLb6oKRKvcnNzTZdghHLbRbntotziiwaty2HzoLWIiEhVpUFrERERkUpSUyReeTwe0yUYodx2UW67KLf4oqZIvBo/frzpEoxQbrsot12UW3zRTFE5bJ4p8ng8xMfHmy4j5JTbLsptF+W2h2aKJKBs+wEqptx2UW67KLf4oqZIREREBDVF4kN6errpEoxQbrsot12UW3xRUyRe1atXz3QJRii3XZTbLsotvmjQuhw2D1qLiIhUVRq0FhEREakkNUXiVU5OjukSjFBuuyi3XZRbfFFTJF5Nnz7ddAlGKLddlNsuyi2+aKaoHJopEhERqXo0UyQiIiJSSWqKRERERFBTJD6kpaWZLsEI5baLcttFucUXNUXiVVJSkukSjFBuuyi3XZRbfNGgdTk0aC0iIlL1aNBaREREpJLUFFXQkiWmKwi97Oxs0yUYodx2UW67KLf4oqaogoYPhx07TFcRWgsXLjRdghHKbRfltotyiy+aKSpH8UwR7OGqq+qweDFERZmuSkRERHzRTFGQvfMOzJxpugoREREJBjVFfho7Fr780nQVIiIiEmhqivx06BD06wcHD5quJPhSU1NNl2CEcttFue2i3OKLmqIKGjPG/fvXX8O4ceZqCZWePXuaLsEI5baLcttFucUXDVqXo3jQeufOPfToUYfPP3c/t2gRXHONudpERETk2DRoHUSxsTB/PpT+vt56K/zyi7maREREJHDUFPmhVSt45hl3vWsX3HILFBYaKymoMjMzTZdghHLbRbntotzii5oiPw0aBH36uOv334ennjJXTzBlZWWZLsEI5baLcttFucUXzRSV41g3hP31V2jfHn780XlMTAysWgXnnGOwUBERESmhmaIQqV8fXn0Vqv323Tt8GPr3h/37zdYlIiIilaemqJIuuADuu89dZ2dDcrK5ekREROT4qCk6DhMmQNeu7nrWLPjPf8zVE2gpKSmmSzBCue2i3HZRbvFFM0XlONZMUWmbNzvzRXv3OusGDSArC5o1C3GhQZCTk0NiYqLpMkJOue2i3HZRbntopsiA006D555z17t3w1/+AgUF5moKFNt+gIopt12U2y7KLb6oKQqA/v1h4EB3vWwZTJ1qrh4RERHxn5qiAHnmGWjRwl1PmACffWaunkDIyMgwXYIRym0X5baLcosvaooCpE4dmDcPoqOd9ZEjzhGkvDyzdR2P3Nxc0yUYodx2UW67KLf4okHrcpQ3aP17kyc7R4mK3XILzJkTvPpERETkaBq0DgMpKc41jIq99BKkpxsrR0RERCpITVGARUc7V7uuV8/dNmwYbNlirqbK8ng8pksw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/XxX5h1DK5uiA78dn04ofaW239YHQnXsWkQiVt26cMUVzkex/fvh66+dRmfjRufPDRucIe7t24MzlH3okPPh7arc27cH/jWrguXLTVdgxscfm64g/FnZFNWsWRNwjhiVtm/fPk488cQy24p++5dq7969oSkujHz99dfKbRHlDr42bZyP3ztyBHbsgF9+cYa1f/nFmUfavbvsx549zlt1eXlw/OOPXwP27W/ltomTt8iP3zisbIoSEhJITEwkOzubM888E4CCggI2bNjAZZddVuaxxYPXJ598csjrDAd169Y1XYIRym0XW3ODctvFztz/3979h8RdP3Acf56nbme3Wht2cUhDbJ790EY/pMAxdQRFo1sptR92jVZIHbS1bCvp56g5Y6MfMIgVOie0IdasXeBpP4gJG8UYY1GOppFlrCmb2bxbetfn+0d45NRvuu0+H3f3evz18fMDXh9OzpefH+93OBwed2doMklZigC8Xi9NTU3ceuutuN1uGhsbSU1NZfHixWP2mz9/Pk1NTTgcDmwz6WaxiIiITMowDMLhMPPnz5/yMUlbih5++GFCoRDPPvssoVAIj8dDbW0tDodjzH4pKSlkZmZalFJEREQu1FSvEI3SNB8iIiIiJPHgjSIiIiL/lrS3zy5Wc3MzO3bsoKKigrVr11odJ646Ojqor6/n1KlTGIaB2+1m9erVLFmyxOpocRMMBtm/fz89PT3YbDays7NZu3Yt+fn5VkeLuxMnTvD+++/z448/cubMGbZt28Ztt91mdaxLzjAMdu3axWeffcbQ0BC5ubmsX7+e7Oxsq6PFzZdffklLSwtdXV2EQiE+//xz7JMNx51Adu7cyaFDh/j999+ZPXs2ixYtorKykmuuucbqaHHV0NBAW1sbf/zxB3a7ndzcXCorK7n++uutjmaal156iY6Ojil/j+lK0QXo6enh448/jo2Gneg8Hg9bt27l008/Zf/+/fj9frZs2cKJix1ZbgYLhUL4fD727t3LRx99RFFREZs2baKvr8/qaHGXlpbG4sWLqampsTpKXCXjVD9OpxOv14vf77c6iqlsNhubNm2ipaWFhoYGIDmmvSgpKeG9994jEAjQ3NzMHXfcwcaNG4lGo1ZHM0UwGJz2nG8qRdMUjUapqanhqaeeYs6cOVbHMUVmZiaZmZnYbDYMwyAlJQXDMOjt7bU6Wtw8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\n",
            "text/plain": [
              "<Figure size 640x480 with 1 Axes>"
            ]
          },
          "metadata": {}
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 506
        },
        "id": "AZlp_z6aNTUy",
        "outputId": "4544a0cc-35bf-4cc7-f144-ee618832b951"
      },
      "source": [
        "# logistic regression loss function with regularization\n",
        "def objective2(theta, lam=0):\n",
        "    guesses = special.expit(X *theta)\n",
        "    Lnll = sklearn.metrics.log_loss(Y, guesses) + lam * theta**2\n",
        "    return Lnll\n",
        "thvec = np.linspace(-4, 4, 100)\n",
        "lvec = [objective2(theta, 0.2) for theta in thvec]\n",
        "plt.plot(thvec, lvec, linewidth=3)\n",
        "plt.xlabel(r\"$\\theta$\", fontsize=30)\n",
        "plt.ylabel(r\"$J_{lr}(\\theta)$\", fontsize=30)\n",
        "plt.grid(1)\n",
        "plt.title(r\"$\\lambda=0.2$\", fontsize=30)\n",
        "plt.gca().set_ylim([0, 20])\n",
        "plt.gcf().savefig(\"linear_logistic_classifier_and_regularization_objective_withreg.pdf\", bbox_inches='tight')"
      ],
      "execution_count": 68,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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p9n5mTNnYtasWRpFpY7i4mJMnz79lvPPPvss5syZo35ADqIoCjZu3IiMjIyGrX7mz5/v1kttHDx4EKmpqbecf++99zBs2DANIlJHTEwMjEYjvLy8mp1PTU116yRpyZIlOHv2LCwWC/z9/REZGYmEhAS3n1l6s5iYmDavU8SkiIiIiAhcp4iIiIgIAJMiIiIiIgBMioiIiIgAMCkiIiIiAsCkiIiIiAgAkyIiIiIiAEyKiIiIiAAwKSIiIiICwKSIiIiICACTIiIiIiIA3BCWiHSupKQEW7duxfHjx1FbW4vIyEi89NJLCAoK0jo0IlIZe4qISLdOnjyJ5557Dt26dcOWLVuwfft2VFRUIDk5GdXV1VqHR0QqY1JERLp0+vRppKSk4Mknn8ScOXPg7e0Nb29vxMfH46effkJaWprWIRKRypgUEZHuXLlyBUuXLkVQUBASEhKaPRcWFgYA+OKLL7QIjYg0xKSIiHRFURQsW7YMpaWlmD17NoxGY7PnO3XqBAA4f/48rl+/rkWIRKQRJkVEpCsHDx7EqVOn0LVrV0RHR9/yvMViAQDcuHEDV65cUTk6ItISkyIi0o2amhps2LABADBhwgR4eXndck1ZWVmLj4nI/TEpIiLdOHjwIEpLSwEAkyZNavGa77//vuGxwWBQJS4icg5MiohIN6wzyvr374+QkJAWrzl//nzD44CAAFXiIiLnwKSIiHTh7NmzuHDhAgBg9OjRNq/Ly8treNylSxeHx0VEzoNJERHpwldffdXw2FZSVFNT05AUBQUFwWQyqRIbETkHbvNBRLpw9OhRAIDRaERKSkqL19TU1KC2thYAEB4erlpsROQcmBQRkdsrLy9vGDp77LHHsHDhwhav+/DDD7F3714AwJAhQ1SLj4icA4fPiMjtNa0TGjBggM3rcnNzGx7fru6IiNwTkyIicnuFhYUNj20lRSUlJQ0zz/r374/g4GBVYiMi58GkiIjcXklJCQDA29sbffr0afGanJychse21jAiIvfGpIiI3F5lZSUAoFevXrfsdWaVmZkJADCZTIiNjVUtNiJyHkyKiEg3goKCWjxfWFjYUHcUFxcHPz8/NcMiIifBpIiI3J51vSF/f/8WnzebzQCAu+66C9OmTVMtLiJyLkyKiMjtWbf08PC49U9eVVUVMjIyAABJSUlcsJFIx5gUEZHbGzRoEABZr+hmO3bsQHl5OcaNG4fx48erHRoROREmRUTk9sLCwhAaGtpss1dA9kPbvn07IiIi8Oqrr2oUHRE5CyZFRKQLSUlJKC0tRVZWFgDgu+++w+uvv44hQ4Zg9erV8PX11ThCItKa4dChQ4rWQRARqSErKwubN29GXV0dTCYT4uLiMHHixBZrjYhIf5gUEREREYHDZ0REREQAmBQRERERAWBSRERERASASRERERERACZFRERERACYFBEREREBYFJEREREBIBJEREREREAJkVEREREAJgUEREREQFgUkREREQEgEkREREREQAmRUREREQAmBQRERERAQD+BxJk4TUY4yTLAAAAAElFTkSuQmCC\n",
            "text/plain": [
              "<Figure size 640x480 with 1 Axes>"
            ]
          },
          "metadata": {}
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "w0Z_tS_yh2PZ"
      },
      "source": [
        ""
      ],
      "execution_count": null,
      "outputs": []
    }
  ]
}